# Requirements

| name | version | license | link |
| ---- | ------- | ------- | ---- |
| Python | >= 3.6 | PSFL | https://docs.python.org/3/license.html |
| Panda3d | >= v1.10.4 | Custom (modified BSD) | https://www.panda3d.org/license/ |
| Bullet engine | >= 2.87 | zlib| http://github.com/bulletphysics/bullet3 |
| LUI | - | MIT | https://github.com/tobspr/LUI |

___

# Install / build -dependencies
 * [Debian](#debian)
 * [Arch](#arch)

Panda3d build/install howto:
 > https://github.com/panda3d/panda3d/blob/master/README.md

LUI build/install howto:
 > https://github.com/tobspr/LUI#installation


## <a id="debian"></a> Debian

#### Python and Bullet
We can get Python and Bullet from the default packet manager.

```bash
 # apt update
 # apt upgrade
 # apt install python3 libbullet-dev
```

#### Panda3d and LUI
We will get Panda3d and LUI through `git`.

Install git and create a directory for the git repo's.

```bash
 # apt install git
 $ mkdir ~/git
```

#### Panda3d

Clone the repo and checkout the `v1.10.5` tag.

```bash
 $ cd ~/git
 $ git clone https://github.com/panda3d/panda3d
 $ cd panda3d
 $ git checkout v1.10.5
```

Install build dependencies.

```bash
 # apt install build-essential pkg-config fakeroot python-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libssl-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev bison flex libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libgtk2.0-dev libassimp-dev libopenexr-dev
```

Build

NOTE: Building can take a while..

```bash
 $ python3 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv
```

Install

```bash
 # dpkg -i panda3d*.deb
```

#### LUI

TODO: Would be nice to have a script that can build a .deb file.

```bash
 $ cd ~/git
 $ git clone https://github.com/tobspr/LUI
 $ cd LUI
 $ python3 update_module_builder.py
 $ python3 build.py
 # cp lui.so /usr/lib/python3/dist-packages/panda3d/
```

___


## <a id="arch"></a> Arch

#### Python and Bullet
We can get Python and Bullet from the default packet manager.

```bash
 # pacman -Syu python bullet 
```
#### Panda3d and LUI
Panda3d and LUI we can get through the Arch user repo.

Create a directory for the packet sources.

```bash
 $ mkdir ~/pkg
```

#### Panda3d
Get the `PKGBUILD`

```bash
 $ cd ~/pkg
 $ git clone https://aur.archlinux.org/panda3d.git
```

Build and install

```bash
 $ cd panda3d
 $ makepkg -si
```
Now follow instructions.

#### LUI
Get the `PKGBUILD`

```bash
 $ cd ~/pkg
 $ git clone https://aur.archlinux.org/packages/lui-git/
```
Build and install

```bash
 $ cd lui-git
 $ makepkg -si
```
Now follow instructions.
___
Back to [index](../README.md)